<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>Document</title>
</head>

<body>
  <script>
    // 1 闭包函数： 函数内部的函数，使用父级的变量，使局部变量持久化 这就是闭包函数
    // 2.滥用闭包函数 会导致内存泄漏
    // 3.内存泄漏  就是内存中 存在的  未被调用或使用的变量和函数 ，而且未被清除等
    function add() {
      var x = 8;
      console.log(x)
      return function () { //闭包函数
        x++;
        var z = x + 5;
        console.log(z)
      }
    }
    var z = add()  //执行add后并没有把x 从内存中清除   有闭包函数在使用
    z();//14
    z();//15
    z();//16











  </script>
</body>

</html>